import java.io.*;

/**
 * 使用改进的(JDK7之后)try,catch实现资源的自动关闭
 * 自定义资源类实现资源接口(JDK9之后)
 */
public class CopyDemo2 {
    public static void main(String[] args) {
        //给try加资源参数可以实现自动关闭资源.不需要finally
        //也可以自定义资源类,只需要实现
        try(//创建一个输入流和源文件链接
            InputStream is = new FileInputStream("C:\\panGod\\守F公民.[中英双字.1024分辨率].rmvb");
            //创建一个字节输出流和目标文件接通
            OutputStream os = new FileOutputStream("C:\\data\\test\\守F公民.[中英双字.1024分辨率].rmvb");
            //自定义的资源
            Goods goods = new Goods();
                ) {
            //定义一个字节数组用来转移数据
            byte[] buffer = new byte[1024];
            int len;//记录读取长度
            while((len = is.read(buffer))!=-1){
                os.write(buffer,0,len);
            }

            System.out.println("复制完成");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
class Goods implements AutoCloseable{

    @Override
    public void close() throws Exception {
        System.out.println("这句就是会自动执行的资源释放操作!");
    }
}